// export default {
//     namespaced: true,
//     state: {
//       userAvatar: uni.getStorageSync('userAvatar') || '',
//       nickName: uni.getStorageSync('nickName') || ''
//     },
//     mutations: {
//       // 更新用户头像
//       updateUserAvatar(state, payload) {
//         state.userAvatar = payload;
//         // 本地持久化
//         uni.setStorageSync('userAvatar', payload);
//       },
//       // 更新用户昵称
//       updateNickName(state, payload) {
//         state.nickName = payload;
//         // 本地持久化
//         uni.setStorageSync('nickName', payload);
//       }
//     },
// }
export default {
  namespaced: true,
  state: {
    token: uni.getStorageSync('token') || ''
  },
  getters: {},
  mutations: {
    // 更新token的mutation
    updateToken(state, token) {
      state.token = token;
      // 本地持久化
      uni.setStorageSync('token', token);
    }
  },
  actions: {
    async wxLoginAction(context) {
      try {
        // 获取用户信息
        const [error, res] = await uni.getUserInfo();
        // console.log(res);
        // 解构res
        const { encryptedData, iv, rawData, signature } = res;

        // 获取code码
        const [error1, { code }] = await uni.login();
        // console.log(code);

        // 定义请求参数
        const data = {
          code,
          encryptedData,
          iv,
          rawData,
          signature
        };

        // 发送请求
        const resData = await uni.$u.http.post("/users/wxlogin", data);
        console.log(resData);
        // 更新vuex
        context.commit('updateToken', resData.data.message.token);
        console.log(context);
        uni.showToast({
          icon: 'success',
          title: '登录成功~'
        });
      } catch (error) {
        uni.showToast({
          icon: 'error',
          title: error
        });
      }
    }
  },
}